From: Owen W. Taylor Date: Fri, 11 Mar 2011 23:37:40 +0000 (-0500) Subject: Don't show the overview unless removing the workspace X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8708 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=8a28022a6bafe6f19b16077f418185d3546e7220;p=gnome-shell.git Don't show the overview unless removing the workspace Don't enter the overview at startup, or when we we remove the last window on the first workspace, but only when we remove a workspace and there are windows on the other workspaces. https://bugzilla.gnome.org/show_bug.cgi?id=644541 --- diff --git a/js/ui/main.js b/js/ui/main.js index a57ba2433..24dab3193 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -263,9 +263,13 @@ function _checkWorkspaces() { } let activeWorkspaceIndex = global.screen.get_active_workspace_index(); - let currentWorkspaceEmpty = emptyWorkspaces[activeWorkspaceIndex]; + let removingCurrentWorkspace = (emptyWorkspaces[activeWorkspaceIndex] && + activeWorkspaceIndex < emptyWorkspaces.length - 1); + // Don't enter the overview when removing multiple empty workspaces at startup + let showOverview = (removingCurrentWorkspace && + !emptyWorkspaces.every(function(x) { return x; })); - if (currentWorkspaceEmpty) { + if (removingCurrentWorkspace) { // "Merge" the empty workspace we are removing with the one at the end wm.blockAnimations(); } @@ -276,11 +280,11 @@ function _checkWorkspaces() { global.screen.remove_workspace(_workspaces[i], global.get_current_time()); } - if (currentWorkspaceEmpty) { + if (removingCurrentWorkspace) { global.screen.get_workspace_by_index(global.screen.n_workspaces - 1).activate(global.get_current_time()); wm.unblockAnimations(); - if (!overview.visible) + if (!overview.visible && showOverview) overview.show(); }